<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  
  <title>Archives: 2018/7 | 程序小工  | Just do it!</title>
  <meta name="description" content="遇见更好的自己~" />
  <meta name="keywords" content="" />
  <meta name="HandheldFriendly" content="True" />
  <meta name="apple-mobile-web-app-capable" content="yes">
  <link rel="shortcut icon" href="/">
  <link rel="alternate" href="/atom.xml" title="程序小工  | Just do it!">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="遇见更好的自己~">
<meta property="og:type" content="website">
<meta property="og:title" content="程序小工  | Just do it!">
<meta property="og:url" content="http://blog.i2arch.tech/archives/2018/07/page/2/index.html">
<meta property="og:site_name" content="程序小工  | Just do it!">
<meta property="og:description" content="遇见更好的自己~">
<meta property="og:locale" content="zh-Hans">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="程序小工  | Just do it!">
<meta name="twitter:description" content="遇见更好的自己~">
    
  <link href="https://fonts.googleapis.com/css?family=Inconsolata|Titillium+Web" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
  <link href='//cdn.bootcss.com/node-waves/0.7.5/waves.min.css' rel='stylesheet'>
  <link rel="stylesheet" href="/style.css">
  <script>
    function setLoadingBarProgress(num) {
      document.getElementById('loading-bar').style.width=num+"%";
    }
  </script>
</head>

<body>
  <div id="loading-bar-wrapper">
  <div id="loading-bar"></div>
</div>


  <script>setLoadingBarProgress(20)</script>
  <header class="l_header">
	<div class='wrapper'>
		<div class="nav-main container container--flex">
			<a class="logo flat-box" href='/' >
				程序小工  | Just do it!
			</a>
			<div class='menu'>
				<ul class='h-list'>
					
						<li>
							<a class='flat-box nav-home' href='/'>
								<i class='icon icon-list2'></i>
								首页
							</a>
						</li>
					
						<li>
							<a class='flat-box nav-archives' href='/archives'>
								<i class='icon icon-bookmark'></i>
								归档
							</a>
						</li>
					
						<li>
							<a class='flat-box nav-about' href='/about'>
								<i class='icon icon-user'></i>
								关于
							</a>
						</li>
					
				</ul>
				<div class='underline'></div>
			</div>
			
				<div class="m_search">
					<form name="searchform" class="form u-search-form">
						<input type="text" class="input u-search-input" placeholder="Search" />
						<span class="icon icon-search"></span>
					</form>
				</div>
			
			<ul class='switcher h-list'>
				
					<li class='s-search'><a href='javascript:void(0)'><span class="icon icon-search flat-box"></span></a></li>
				
				<li class='s-menu'><a href='javascript:void(0)'><span class="icon icon-menu flat-box"></span></a></li>
			</ul>
		</div>

		<div class='nav-sub container container--flex'>
			<a class="logo" class="flat-box" href='javascript:void(0)'>
				Word of Forks
			</a>

			<ul class='switcher h-list'>
				<li class='s-comment'><a href='javascript:void(0)'><span class="icon icon-chat_bubble_outline flat-box"></span></a></li>
				<li class='s-top'><a href='javascript:void(0)'><span class="icon icon-arrow_upward flat-box"></span></a></li>
				<li class='s-toc'><a href='javascript:void(0)'><span class="icon icon-format_list_numbered flat-box"></span></a></li>
			</ul>
		</div>
	</div>
</header>
<aside class="menu-phone">
	<nav>
		
			<a href="/" class="nav-home nav">
				首页
			</a>
		
			<a href="/archives" class="nav-archives nav">
				归档
			</a>
		
			<a href="/about" class="nav-about nav">
				关于
			</a>
		
	</nav>
</aside>

    <script>setLoadingBarProgress(40);</script>
  <div class="l_body">
    <div class='container clearfix'>
      <!-- 左侧内容 -->
      <div class='l_main'>
        
	
  <script>
    window.subData= { title:'Year : 2018+  7'}
  </script>


  <section class="post-list">
    
      <div class='post-wrapper'>
        <article class="post reveal ">
  <section class="meta">
    
      <h2 class="title">
        <a href="/2018/07/05/php-practice-wx-tp5-2/">
          微信小程序结合ThinkPHP5实战项目（二）-- 接口编写
        </a>
      </h2>
      
        
    
    <div class='cats'>
        <i class="icon icon-bookmark"></i>
        <a href="/categories/PHP/">PHP</a>
    </div>

          <time class="time">
            7月<br>
              05
              <!-- Jul 5, 2018 -->
          </time>
  </section>
  <section class="article typo">
    <span class="zhaiyao">[摘要]</span>
    <p>ThinkPHP5 从入门到深入学习，结合实战项目深入理解 ThinkPHP5 的特性和使用方法。编写完成简单的基于 RESTFul 接口，实现相应功能，掌握控制器、模型、异常处理、数据校验的使用。</p>

      
        <div class="readmore">
          <a href="/2018/07/05/php-practice-wx-tp5-2/">阅读全文 <i class="icon icon-next"></i></a>
        </div>
        
        
          <div class="full-width auto-padding tags">
            
              <a href="/tags/thinkphp5/">
                <span>
                  <i class="icon icon-price-tags"></i>
                </span>
                thinkphp5
              </a>
              
              <a href="/tags/微信小程序/">
                <span>
                  <i class="icon icon-price-tags"></i>
                </span>
                微信小程序
              </a>
              
          </div>
          
  </section>
</article>

      </div>
    
      <div class='post-wrapper'>
        <article class="post reveal ">
  <section class="meta">
    
      <h2 class="title">
        <a href="/2018/07/05/http-ouath/">
          【PHP】第三方登录OAuth2.0
        </a>
      </h2>
      
        
    
    <div class='cats'>
        <i class="icon icon-bookmark"></i>
        <a href="/categories/PHP/">PHP</a>
    </div>

          <time class="time">
            7月<br>
              05
              <!-- Jul 5, 2018 -->
          </time>
  </section>
  <section class="article typo">
    <span class="zhaiyao">[摘要]</span>
    <p>对于网站应用程序，涉及到登录和第三方 api 接口时，都会接触到 Token 等概念，而这部分的逻辑原理则是来自于 OAuth 授权协议，<br>
目前的 OAuth2.0 协议的安全性也是被广泛认可，到目前为止尚且没有发生严重的安全事故。学习 OAuth2.0 协议的工作原理，并了解 qq 登录的流程和实现方式。</p>

      
        <div class="readmore">
          <a href="/2018/07/05/http-ouath/">阅读全文 <i class="icon icon-next"></i></a>
        </div>
        
        
          <div class="full-width auto-padding tags">
            
              <a href="/tags/oauth/">
                <span>
                  <i class="icon icon-price-tags"></i>
                </span>
                oauth
              </a>
              
          </div>
          
  </section>
</article>

      </div>
    
      <div class='post-wrapper'>
        <article class="post reveal ">
  <section class="meta">
    
      <h2 class="title">
        <a href="/2018/07/01/php-practice-wx-tp5-1/">
          微信小程序结合ThinkPHP5实战项目（一）-- 数据库访问与ORM
        </a>
      </h2>
      
        
    
    <div class='cats'>
        <i class="icon icon-bookmark"></i>
        <a href="/categories/PHP/">PHP</a>
    </div>

          <time class="time">
            7月<br>
              01
              <!-- Jul 1, 2018 -->
          </time>
  </section>
  <section class="article typo">
    <span class="zhaiyao">[摘要]</span>
    <p>ThinkPHP5 从入门到深入学习，结合实战项目深入理解 ThinkPHP5 的特性和使用方法，了解 ThinkPHP5 的数据库访问和 ORM 思想，学习使用查询构造器、日志以及初步了解异常处理机制。</p>

      
        <div class="readmore">
          <a href="/2018/07/01/php-practice-wx-tp5-1/">阅读全文 <i class="icon icon-next"></i></a>
        </div>
        
        
          <div class="full-width auto-padding tags">
            
              <a href="/tags/thinkphp5/">
                <span>
                  <i class="icon icon-price-tags"></i>
                </span>
                thinkphp5
              </a>
              
              <a href="/tags/微信小程序/">
                <span>
                  <i class="icon icon-price-tags"></i>
                </span>
                微信小程序
              </a>
              
          </div>
          
  </section>
</article>

      </div>
    
  </section>


  <nav id="page-nav">
    
    <a class="prev" rel="prev" href="/archives/2018/07/">
      <span class="icon icon-chevron-left"></span>
      <span class="text">Previous</span>
    </a>
    
    
  </nav>



      </div>

      <!-- 右侧边栏组件 -->
      <aside class='l_side'>
        
      </aside>

      <div class="gotop">
          
    <a href='javascript:void(0)'>
        <i class="icon icon-arrow_upward flat-box">
        </i>
    </a>

      </div>
      <script>setLoadingBarProgress(60);</script>
    </div>
  </div>
  <footer id="footer" class="clearfix">

	<div class="social-wrapper">
  	
      
        <a href="https://github.com/zqunor" class="social github"
          target="_blank" rel="external">
          <span class="icon icon-github"></span>
        </a>
      
        <a href="https://www.cnblogs.com/zqunor" class="social zhihu"
          target="_blank" rel="external">
          <span class="icon icon-zhihu"></span>
        </a>
      
        <a href="/atom.xml" class="social rss"
          target="_blank" rel="external">
          <span class="icon icon-rss"></span>
        </a>
      
    
  </div>
  <div>Theme <a href='https://github.com/stkevintan/hexo-theme-material-flow' class="codename">MaterialFlow</a>  Powered by<a href="https://blog.i2arch.tech/" target="_blank">程序小工</a>.</div>

</footer>

  <script>setLoadingBarProgress(80);</script>
  

    <script src="//apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src='//cdn.bootcss.com/node-waves/0.7.5/waves.min.js'></script>
    <script src="//cdn.bootcss.com/scrollReveal.js/3.3.2/scrollreveal.min.js"></script>
    <script src="/js/jquery.fitvids.js"></script>
      <script>
        var GOOGLE_CUSTOM_SEARCH_API_KEY = "";
        var GOOGLE_CUSTOM_SEARCH_ENGINE_ID = "";
        var ALGOLIA_API_KEY = "";
        var ALGOLIA_APP_ID = "";
        var ALGOLIA_INDEX_NAME = "";
        var AZURE_SERVICE_NAME = "";
        var AZURE_INDEX_NAME = "";
        var AZURE_QUERY_KEY = "";
        var BAIDU_API_ID = "fca5b83cf69f752ddc96a61ef64a3659";
        var SEARCH_SERVICE = "hexo";
        var ROOT = "/" || "/";
        if (!ROOT.endsWith('/')) ROOT += '/';
      </script>
      <script src="/js/search.js"></script>
        <script src="/js/app.js"></script>
  <script>setLoadingBarProgress(100);</script>
</body>
</html>
